home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-10-20 | 32.6 KB | 758 lines | [TEXT/MPS ] |
-
- ; Created: Wednesday, August 14, 1991 9:35 AM
- ;
- ; File: ImageCompression.a
- ;
- ; Assembler Interface to the Macintosh Libraries
- ; Copyright Apple Computer, Inc. 1990-1991
- ; All Rights Reserved
- ;
- ;___________________________________________________________________________
- IF &TYPE('__IncludingImageCompression__') = 'UNDEFINED' THEN
- __IncludingImageCompression__ SET 1
-
-
- gestaltCompressionMgr EQU 'icmp'
- ; These are the bits that are set in the Component flags, and also in the codecInfo struct.
- codecInfoDoes1 EQU $1 ; codec can work with 1-bit pixels
- codecInfoDoes2 EQU $2 ; codec can work with 2-bit pixels
- codecInfoDoes4 EQU $4 ; codec can work with 4-bit pixels
- codecInfoDoes8 EQU $8 ; codec can work with 8-bit pixels
- codecInfoDoes16 EQU $10 ; codec can work with 16-bit pixels
- codecInfoDoes32 EQU $20 ; codec can work with 32-bit pixels
- codecInfoDoesDither EQU $40 ; codec can do ditherMode
- codecInfoDoesStretch EQU $80 ; codec can stretch to arbitrary sizes
- codecInfoDoesShrink EQU $100 ; codec can shrink to arbitrary sizes
- codecInfoDoesMask EQU $200 ; codec can mask to clipping regions
-
- codecInfoDoesTemporal EQU $400 ; codec can handle temporal redundancy
-
- codecInfoDoesDouble EQU $800 ; codec can stretch to double size exactly
- codecInfoDoesQuad EQU $1000 ; codec can stretch to quadruple size exactly
- codecInfoDoesHalf EQU $2000 ; codec can shrink to half size
- codecInfoDoesQuarter EQU $4000 ; codec can shrink to quarter size
-
- codecInfoDoesRotate EQU $8000 ; codec can rotate on decompress
- codecInfoDoesHorizFlip EQU $10000 ; codec can flip horizontally on decompress
- codecInfoDoesVertFlip EQU $20000 ; codec can flip vertically on decompress
- codecInfoDoesSkew EQU $40000 ; codec can skew on decompress
- codecInfoDoesBlend EQU $80000 ; codec can blend on decompress
- codecInfoDoesWarp EQU $100000 ; codec can warp arbitrarily on decompress
- codecInfoDoesRecompress EQU $200000 ; codec can recompress image without accumulating errors
- codecInfoDoesSpool EQU $400000 ; compressed data at 32 bpp depth available
-
- codecInfoDepth1 EQU $1 ; compressed data at 1 bpp depth available
- codecInfoDepth2 EQU $2 ; compressed data at 2 bpp depth available
- codecInfoDepth4 EQU $4 ; compressed data at 4 bpp depth available
- codecInfoDepth8 EQU $8 ; compressed data at 8 bpp depth available
- codecInfoDepth16 EQU $10 ; compressed data at 16 bpp depth available
- codecInfoDepth32 EQU $20 ; compressed data at 32 bpp depth available
- codecInfoDepth24 EQU $40 ; compressed data at 24 bpp depth available
- codecInfoDepth33 EQU $80 ; compressed data at 1 bpp monochrome depth available
- codecInfoDepth34 EQU $100 ; compressed data at 2 bpp grayscale depth available
- codecInfoDepth36 EQU $200 ; compressed data at 4 bpp grayscale depth available
- codecInfoDepth40 EQU $400 ; compressed data at 8 bpp grayscale depth available
- codecInfoStoresClut EQU $800 ; compressed data can have custom cluts
- codecInfoDoesLossless EQU $1000 ; compressed data can be stored in lossless format
-
- codecFlagUseImageBuffer EQU $1 ; (input) allocate buffer for whole image on decompress sequence
- codecFlagUseScreenBuffer EQU $2 ; (input) allocate buffer for screen on decompress sequence for faster updates
- codecFlagUpdatePrevious EQU $4 ; (input) udate previous buffer on compress sequence
- codecFlagNoScreenUpdate EQU $8 ; (input) dont update screen, but do update image buffer if allocated
- codecFlagWasCompressed EQU $10 ; (input) hint to compressor that image was previously compressed
- codecFlagDontOffscreen EQU $20 ; (input) return error instead of automatically going offscreen
- codecFlagUpdatePreviousComp EQU $40 ; (input) udate previous buffer on compress sequence
- codecFlagForceKeyFrame EQU $80 ; (input) when sent to CompressSequenceFrame, forces that frame to be a key frame
- codecFlagOnlyScreenUpdate EQU $100 ; (input) only update screen from
- codecFlagLiveGrab EQU $200 ; (input) data being compressed is from live source (speed is critical)
- codecFlagDontUseNewImageBuffer EQU $400 ; (input) return error if image buffer is new or reallocated
- codecFlagInterlaceUpdate EQU $800 ; (input) use interlaced update
-
-
-
- codecFlagUsedNewImageBuffer EQU $4000 ; (output) indicates that image buffer was first used on this decompress sequence
- codecFlagUsedImageBuffer EQU $8000 ; (output) indicates that image buffer was used on this decompress sequence
-
- codecErr EQU -8960 ; the codec returned an error
- noCodecErr EQU -8961 ; the specified codec could not be found
- codecUnimpErr EQU -8962 ; this feature is not implemented by the specified codec
- codecSizeErr EQU -8963
- codecScreenBufErr EQU -8964 ; the screen buffer could not be allocated
- codecImageBufErr EQU -8965 ; the image buffer could not be allocated
- codecSpoolErr EQU -8966 ; the compressed data must be in memory (spooling did not work)
- codecAbortErr EQU -8967 ; the operation was aborted by the progress proc
- codecWouldOffscreenErr EQU -8968 ; an offscreen access would have been used, but wasn't allowed because codecFlagDontOffscreen was set
- codecBadDataErr EQU -8969 ; compressed data was found to have inconsistencies
- codecDataVersErr EQU -8970 ; compressed data was of a format version that codec couldn't handle
- codecConditionErr EQU -8972 ; codec can not do requested operation
- codecOpenErr EQU -8973 ; the codec could not be opened
-
- codecMinimumDataSize EQU 32768 ; The minimum data size for spooling in or out data
-
- compressorComponentType EQU 'imco' ; the type for "Components" which compress images
- decompressorComponentType EQU 'imdc' ; the type for "Components" which decompress images
-
- defaultDither EQU 0
- forceDither EQU 1
- suppressDither EQU 2
-
- codecLosslessQuality EQU $400
- codecMaxQuality EQU $3FF
- codecMinQuality EQU $000
- codecLowQuality EQU $100
- codecNormalQuality EQU $200
- codecHighQuality EQU $300
-
- anyCodec EQU 0 ; take first working codec of given type }
- bestSpeedCodec EQU -1 ; take fastest codec of given type }
- bestFidelityCodec EQU -2 ; take codec which is most accurate}
- bestCompressionCodec EQU -3 ; take codec of given type that is most accurate }
-
- codecCompletionSource EQU 1 ; asynchronous codec is done with source data
- codecCompletionDest EQU 2 ; asynchronous codec is done with destination data
-
- codecProgressOpen EQU 0
- codecProgressUpdatePercent EQU 1
- codecProgressClose EQU 2
-
-
- ProgressProcRecord RECORD 0
- progressProc DS.L 1
- progressRefCon DS.L 1
- size EQU *
- ENDR
-
- CompletionProcRecord RECORD 0
- completionProc DS.L 1
- completionRefCon DS.L 1
- size EQU *
- ENDR
-
- DataProcRecord RECORD 0
- dataProc DS.L 1
- dataRefCon DS.L 1
- size EQU *
- ENDR
-
- FlushProcRecord RECORD 0
- flushProc DS.L 1
- flushRefCon DS.L 1
- size EQU *
- ENDR
-
- ;
- ; The ImageDescription is private data which is produced when an image or sequence
- ; is compressed. It fully describes the format of the compressed data.
- ImageDescription RECORD 0
- idSize DS.L 1 ; total size of ImageDescription including extra data ( CLUTs and other per sequence data
- cType DS.L 1 ; what kind of codec compressed this data
- resvd1 DS.L 1 ; reserved for apple use
- resvd2 DS.W 1 ; reserved for apple use
- dataRefIndex DS.W 1 ; set to zero
- version DS.W 1 ; which version is this data
- revisionLevel DS.W 1 ; what version of that codec did this
- vendor DS.L 1 ; whose codec compressed this data
- temporalQuality DS.L 1 ; what was the temporal quality factor
- spatialQuality DS.L 1 ; what was the spatial quality factor
- width DS.W 1 ; how many pixels wide is this data
- height DS.W 1 ; how many pixels high is this data
- hRes DS.L 1 ; horizontal resolution
- vRes DS.L 1 ; vertical resolution
- dataSize DS.L 1 ; if known, the size of data for this image descriptor
- frameCount DS.W 1 ; number of frames this description applies to
- name DS.B 32 ; name of codec ( in case not installed )
- depth DS.W 1 ; what depth is this data (1-32) or ( 33-40 grayscale )
- clutID DS.W 1 ; clut id or if 0 clut follows or -1 if no clut
- size EQU *
- ENDR
-
- ;
- ; The CodecInfo is the information returned as the codecInfo struct by a codec Component
- ; to the codec manager or to the caller. It is specific to the particular codec
- ; implementation and not to the codec type.
- CodecInfo RECORD 0
- typeName DS.B 32 ; name of the codec type i.e.: 'Apple Image Compression'
- version DS.W 1 ; version of the codec data that this codec knows about
- revisionLevel DS.W 1 ; revision level of this codec i.e: 0x00010001 (1.0.1)
- vendor DS.L 1 ; Maker of this codec i.e: 'appl'
- decompressFlags DS.L 1 ; codecInfo flags for decompression capabilities
- compressFlags DS.L 1 ; codecInfo flags for compression capabilities
- formatFlags DS.L 1 ; codecInfo flags for compression format details
- compressionAccuracy DS.B 1 ; measure (1-255) of accuracy of this codec for compress (0 if unknown)
- decompressionAccuracy DS.B 1 ; measure (1-255) of accuracy of this codec for decompress (0 if unknown)
- compressionSpeed DS.W 1 ; ( millisecs for compressing 320x240 on base mac II) (0 if unknown)
- decompressionSpeed DS.W 1 ; ( millisecs for decompressing 320x240 on mac II)(0 if unknown)
- compressionLevel DS.B 1 ; measure (1-255) of compression level of this codec (0 if unknown)
- resvd DS.B 1 ; pad
- minimumHeight DS.W 1 ; minimum height of image (block size)
- minimumWidth DS.W 1 ; minimum width of image (block size)
- decompressPipelineLatency DS.W 1 ; in milliseconds ( for asynchronous codecs )
- compressPipelineLatency DS.W 1 ; in milliseconds ( for asynchronous codecs )
- privateData DS.L 1
- size EQU *
- ENDR
-
- ; Name list returned by GetCodecNameList.
- CodecNameSpec RECORD 0
- codec DS.L 1
- cType DS.L 1
- typeName DS.B 32
- name DS.L 1
- size EQU *
- ENDR
-
- CodecNameSpecList RECORD 0
- count DS.W 1
- list DS.L 1
- size EQU *
- ENDR
-
- ; Matrix stuff
- MatrixRecord RECORD 0
- matrix DS.L 3
- size EQU *
- ENDR
-
- FixedPoint RECORD 0
- x DS.L 1
- y DS.L 1
- size EQU *
- ENDR
-
- FixedRect RECORD 0
- left DS.L 1
- top DS.L 1
- right DS.L 1
- bottom DS.L 1
- size EQU *
- ENDR
-
- MACRO
- _CodecManagerVersion
- MOVEQ #$00,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _GetCodecNameList
- MOVEQ #$01,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _DisposeCodecNameList
- MOVEQ #$0f,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _GetCodecInfo
- MOVEQ #$03,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _GetMaxCompressionSize
- MOVEQ #$04,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _GetCompressionTime
- MOVEQ #$05,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _CompressImage
- MOVEQ #$06,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _FCompressImage
- MOVEQ #$07,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _DecompressImage
- MOVEQ #$08,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _FDecompressImage
- MOVEQ #$09,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _CompressSequenceBegin
- MOVEQ #$0A,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _CompressSequenceFrame
- MOVEQ #$0B,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _DecompressSequenceBegin
- MOVEQ #$0D,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _DecompressSequenceFrame
- MOVEQ #$0E,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _SetDSequenceMatrix
- MOVEQ #$10,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _SetDSequenceMatte
- MOVEQ #$11,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _SetDSequenceMask
- MOVEQ #$12,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _SetDSequenceTransferMode
- MOVEQ #$13,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _SetDSequenceDataProc
- MOVEQ #$14,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _SetDSequenceAccuracy
- MOVEQ #$34,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _SetDSequenceSrcRect
- MOVEQ #$35,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _GetDSequenceImageBuffer
- MOVEQ #$15,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _GetDSequenceScreenBuffer
- MOVEQ #$16,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _SetCSequenceQuality
- MOVEQ #$17,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _SetCSequencePrev
- MOVEQ #$18,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _SetCSequenceFlushProc
- MOVEQ #$33,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _SetCSequenceKeyFrameRate
- MOVEQ #$36,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _GetCSequenceKeyFrameRate
- MOVE.L #$0008004A,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _GetCSequencePrevBuffer
- MOVEQ #$19,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _CDSequenceBusy
- MOVEQ #$1A,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _CDSequenceEnd
- MOVEQ #$1B,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _GetCompressedImageSize
- MOVEQ #$1C,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _GetSimilarity
- MOVEQ #$1D,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _GetImageDescriptionCTable
- MOVEQ #$1E,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _SetImageDescriptionCTable
- MOVEQ #$1F,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _GetImageDescriptionExtension
- MOVEQ #$20,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _RemoveImageDescriptionExtension
- MOVE.L #$000C003A,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _CountImageDescriptionExtensionType
- MOVE.L #$000C003B,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _GetNextImageDescriptionExtensionType
- MOVE.L #$0008003C,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _SetImageDescriptionExtension
- MOVEQ #$21,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _FindCodec
- MOVEQ #$23,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _CompressPicture
- MOVEQ #$24,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _FCompressPicture
- MOVEQ #$25,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _CompressPictureFile
- MOVEQ #$26,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _FCompressPictureFile
- MOVEQ #$27,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _GetPictureFileHeader
- MOVEQ #$28,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _DrawPictureFile
- MOVEQ #$29,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _DrawTrimmedPicture
- MOVEQ #$2E,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _DrawTrimmedPictureFile
- MOVEQ #$2F,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _MakeThumbnailFromPicture
- MOVEQ #$2A,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _MakeThumbnailFromPictureFile
- MOVEQ #$2B,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _MakeThumbnailFromPixMap
- MOVEQ #$2C,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _TrimImage
- MOVEQ #$2D,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _ConvertImage
- MOVEQ #$30,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _StdPix
- MOVEQ #$c,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _GetCompressedPixMapInfo
- MOVEQ #$37,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _SetCompressedPixMapInfo
- MOVEQ #$38,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _AlignScreenRect
- MOVE.L #$0004004B,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _AlignWindow
- MOVE.L #$000A004C,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _DragAlignedWindow
- MOVE.L #$00010004D,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _DragAlignedGrayRgn
- MOVE.L #$001A004E,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- identityMatrixType EQU $00 ; result if matrix is identity
- translateMatrixType EQU $01 ; result if matrix translates
- scaleMatrixType EQU $02 ; result if matrix scales
- scaleTranslateMatrixType EQU $03 ; result if matrix scales and translates
- linearMatrixType EQU $04 ; result if matrix is general 2 x 2
- linearTranslateMatrixType EQU $05 ; result if matrix is general 2 x 2 and translates
- perspectiveMatrixType EQU $06 ; result if matrix is general 3 x 3
-
- MACRO
- _GetMatrixType
- MOVEQ #$14,D0
- DC.W $ABC2 ; TB 03C2
- ENDM
-
- MACRO
- _CopyMatrix
- MOVEQ #$20,D0
- DC.W $ABC2 ; TB 03C2
- ENDM
-
- MACRO
- _EqualMatrix
- MOVEQ #$21,D0
- DC.W $ABC2 ; TB 03C2
- ENDM
-
- MACRO
- _SetIdentityMatrix
- MOVEQ #$15,D0
- DC.W $ABC2 ; TB 03C2
- ENDM
-
- MACRO
- _TranslateMatrix
- MOVEQ #$19,D0
- DC.W $ABC2 ; TB 03C2
- ENDM
-
- MACRO
- _RotateMatrix
- MOVEQ #$16,D0
- DC.W $ABC2 ; TB 03C2
- ENDM
-
- MACRO
- _ScaleMatrix
- MOVEQ #$17,D0
- DC.W $ABC2 ; TB 03C2
- ENDM
-
- MACRO
- _SkewMatrix
- MOVEQ #$18,D0
- DC.W $ABC2 ; TB 03C2
- ENDM
-
- MACRO
- _TransformFixedPoints
- MOVEQ #$22,D0
- DC.W $ABC2 ; TB 03C2
- ENDM
-
- MACRO
- _TransformPoints
- MOVEQ #$23,D0
- DC.W $ABC2 ; TB 03C2
- ENDM
-
- MACRO
- _TransformFixedRect
- MOVEQ #$24,D0
- DC.W $ABC2 ; TB 03C2
- ENDM
-
- MACRO
- _TransformRect
- MOVEQ #$25,D0
- DC.W $ABC2 ; TB 03C2
- ENDM
-
- MACRO
- _TransformRgn
- MOVEQ #$39,D0
- DC.W $AAA3 ; TB 02A3
- ENDM
-
- MACRO
- _InverseMatrix
- MOVEQ #$1C,D0
- DC.W $ABC2 ; TB 03C2
- ENDM
-
- MACRO
- _ConcatMatrix
- MOVEQ #$1B,D0
- DC.W $ABC2 ; TB 03C2
- ENDM
-
- MACRO
- _RectMatrix
- MOVEQ #$1E,D0
- DC.W $ABC2 ; TB 03C2
- ENDM
-
- MACRO
- _MapMatrix
- MOVEQ #$1D,D0
- DC.W $ABC2 ; TB 03C2
- ENDM
-
-
- MACRO
- _SFGetFilePreview
- MOVE.W #65,D0
- DC.W $AAA3
- ENDM
-
- MACRO
- _SFPGetFilePreview
- MOVE.W #66,D0
- DC.W $AAA3
- ENDM
-
- MACRO
- _StandardGetFilePreview
- MOVE.W #67,D0
- DC.W $AAA3
- ENDM
-
- MACRO
- _CustomGetFilePreview
- MOVE.W #68,D0
- DC.W $AAA3
- ENDM
-
- MACRO
- _MakeFilePreview
- MOVE.W #69,D0
- DC.W $AAA3
- ENDM
-
- MACRO
- _AddFilePreview
- MOVE.W #70,D0
- DC.W $AAA3
- ENDM
-
-
- sfpItemPreviewAreaUser EQU 11
- sfpItemPreviewStaticText EQU 12
- sfpItemPreviewDividerUser EQU 13
- sfpItemCreatePreviewButton EQU 14
- sfpItemShowPreviewButton EQU 15
-
- PreviewResourceRecord RECORD 0
- modDate DS.L 1
- version DS.W 1
- resType DS.L 1
- resID DS.W 1
- size EQU *
- ENDR
-
- ENDIF ; ...already included